home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / webalizer / GeoIP.README < prev    next >
Text File  |  2004-02-16  |  6KB  |  139 lines

  1. Webalizer + GeoIP library (aka "Geolizer")
  2. ==========================================
  3.  
  4.  * patch to original Webalizer code by Stanislaw Pusep (stanis@linuxmail.org)
  5.  * human readable sizes patch by Timo A. Hummel (http://www.timohummel.com/)
  6.  
  7. Version this patch applies: 2.01-10
  8.     
  9.  
  10. References:
  11. -----------
  12.  
  13. This project:    http://sysd.org/proj/log.php#glzr
  14. Webalizer home:    http://www.mrunix.net/webalizer/
  15. GeoIP home:    http://maxmind.com/geoip/
  16.  
  17.  
  18. Description:
  19. ------------
  20.  
  21. Patch for Webalizer to generate faster and more reliable geographic statistics
  22. than using default DNS suffix method. In fact, if you disable DNS reversal on
  23. your HTTP server, it will work faster and your stats get more accuracy when
  24. processed by patched Webalizer.
  25. Side effects are: possibility to compile native Win32 port under MinGW/MSYS
  26. and human-readable size display.
  27.  
  28.  
  29. Robustity/Efficiency:
  30. ---------------------
  31.  
  32.  * No crashes reported since first public release on 13-Jul-2002
  33.    (581 days until today!).
  34.  
  35.  * Extensive comparsion test results on Athlon XP 1700+:
  36.    o Webalizer:
  37.     22997341 records (5 bad) in 214.20 seconds, 107363/sec
  38.    o Geolizer (GEO-106 20040201 database):
  39.     22997341 records (5 bad) in 217.24 seconds, 105861/sec
  40.    o GeoIP stats:
  41.     processed 22997341 hits from 132864 hosts in 144 countries (2 N/A)
  42.  
  43. As you see, Geolizer is only 1% slower than non-patched Webalizer.
  44. But while Webalizer differences no countries at all (my web server doesn't
  45. reverses DNS), GeoIP was unable to recognize only 2 countries from 132864
  46. different hosts!
  47.  
  48.  
  49. Preface:
  50. --------
  51.  
  52. By default, Webalizer uses DNS suffix to guess country and produce geographic
  53. stats. Some WWW hostings (mostly free ones) has reverse DNS feature disabled,
  54. so there's no DNS, and consequently no geographic stats. Well, Webalizer *has*
  55. internal Reverse DNS feature (aka "Webazolver"). But it's too slow, even
  56. running 100 threads. So, is there any other way? Sure! It's GeoIP library!
  57.  
  58.  
  59. How It Works:
  60. -------------
  61.  
  62. From GeoIP 1.3.1 package README file:
  63.  
  64. "GeoIP is a C library that enables the user to find the country that any
  65. IP address or hostname originates from.  It uses a file based database
  66. that is accurate as of March 2003.  This database simply contains IP blocks
  67. as keys, and countries as values.  This database should be more complete and
  68. accurate than using reverse DNS lookups."
  69.  
  70. And how to port this feature to Webalizer? At user's point of view, patched
  71. code takes each IP address and discovers it's country default suffix. Then,
  72. obtained suffix is appended to hostname (somewhat like "127.0.0.1" becoming
  73. "127.0.0.1.net"). After this, Webalizer normally processes such host, I mean
  74. it finds full country name and accounts stats on it. This is quite abstract,
  75. but the real process isn't too far, it's just s bit more optimized. Oh, quite
  76. forgot it: if processed entry isn't IP address but DNS hostname, Webalizer's
  77. default suffix routines are used. This method is less precise, but resolving
  78. DNS once again isn't a smart solution.
  79.  
  80.  
  81. Bugs:
  82. -----
  83.  
  84. Here it comes...
  85.  
  86.  * Reversed DNS aren't resolved back to IP address so GeoIP could handle them.
  87.    This is very slow and dumb process, you'd better turn off your server's
  88.    DNS reversing.
  89.  * GeoIP knows more countries than Webalizer so I had to patch webalizer_lang.h
  90.    English version. So if you compile other language support "new" countries
  91.    will become "Unknown/Unresolved".
  92.  * I hadn't made through tests. So, GeoIP patch *seems* to work fine.
  93.  * Additional "Country" fields text isn't localized. I hope no one cares ;)
  94.  * DNS names _ARE_ resolved for "Total Sites" tables. On the worst case with
  95.    "Top 10" setting there will be 20 DNS lookups for each page generated.
  96.    I don't think that's bad; at least you know countries of that "Top 10"
  97.    sites. Although, it won't work in offline mode, country will be "Unknown"
  98.    even if hostname suffix is ".ru" :P
  99.  * '-d' commandline switch is supposed to show which .conf file is webalizer
  100.    using. First, it must preceed '-c' flag to work. Second, it *ONLY* works
  101.    with '-c' flag; won't show default webalizer.conf file. And third, it's
  102.    message preceeds default "Webalizer V2.01 ..." header. Really a quick&dirty
  103.    hack...
  104.  
  105.  
  106. Change Log:
  107. -----------
  108.  
  109. 13-Jul-2002: First release.
  110. 22-Aug-2002: Reorganized a lot. Now compiles on Win32 under MinGW.
  111. 23-Aug-2002: Fixed problems with "path relativity".
  112.          GeoIP_open is now verbose.
  113.          Binaries are "strip"'ped by default.
  114.          Fixed case for "configure" options --with-geoip-xxx.
  115.          No more ETCDIR on Win32 build.
  116. 25-Aug-2002: Removed my "fast" buggy tolower() from GeoIP suffix normalizer
  117.          (caused A1 & A2 codes to be ignored; default "slow" tolower()
  118.          is better here).
  119.          "configure" now seeks for GeoIP first in user-specified --prefix.
  120.          In debug+GeoIP mode helpful strings (address, 2-letter code,
  121.          country) are being print now.
  122.          Fixed a fault that caused warning on MinGW when compiling
  123.          win_port.c.
  124. 26-Aug-2002: Release of all changes since "22-Aug-2002".
  125. 07-Nov-2002: GeoIP API changed since version 1.0.10; unresolved countries are
  126.          handled now by NULL instead of "--". Older API is still supported
  127.          for compatibility with Win32 version of GeoIP.
  128. 07-Fev-2004: Now shows GeoIP database information on top of generated pages
  129.          and link to official Geolizer site at bottom :)
  130.          "Total Sites" & everything related now shows "Country" column,
  131.          too. Static binaries are now bound with GeoIP 1.3.1 library and
  132.          "GEO-106FREE 20031105 Build 1" database.
  133. 14-Fev-2004: Merged human readable sizes patch by Timo A. Hummel.
  134.          Added byte-precision to it :)
  135.          Updated docs & posted extensive test results.
  136. 16-Fev-2004: Updated 'webalizer.1' man page. Webalizer now shows which config
  137.              file(s) it is using. More tips&tricks in INSTALL file. Better
  138.              Win32 package with correct text line endings & HTMLized man page.
  139.